#!/bin/bash

# Nginx日志生成器启动脚本

echo "=== Nginx日志生成器启动脚本 ==="

# 检查Java环境
if ! command -v java &> /dev/null; then
    echo "错误: 未安装Java环境"
    exit 1
fi

# 检查Maven环境（如果需要编译）
if [ ! -f "target/nginx-log-generator-1.0.0.jar" ]; then
    echo "正在编译项目..."
    if ! command -v mvn &> /dev/null; then
        echo "错误: 未安装Maven环境"
        exit 1
    fi
    mvn clean package
fi

# 检查配置文件
if [ ! -f "config.properties" ]; then
    echo "警告: 未找到配置文件 config.properties，使用默认配置"
fi

echo "Java版本: $(java -version 2>&1 | head -n 1)"

# 显示使用说明
echo ""
echo "使用方法:"
echo "  基本启动: ./start.sh"
echo "  指定配置: ./start.sh --config my-config.properties"
echo "  指定输出: ./start.sh --output my-access.log --rate 100"
echo "  后台运行: nohup ./start.sh &"
echo ""

# 检查是否已有进程在运行
EXISTING_PID=$(ps aux | grep java | grep nginx-log-generator | grep -v grep | awk '{print $2}')
if [ ! -z "$EXISTING_PID" ]; then
    echo "警告: 检测到已有进程在运行 (PID: $EXISTING_PID)"
    echo "请先使用 ./stop.sh 停止现有进程，或使用 ./restart.sh 重启"
    exit 1
fi

# 启动程序
echo "正在启动Nginx日志生成器..."
nohup java -cp target/nginx-log-generator-1.0.0.jar com.example.nginx.NginxLogGenerator "$@" > generator.log 2>&1 &

PID=$!
echo "进程已启动，PID: $PID"
echo "日志输出: generator.log"
echo ""
echo "停止程序: ./stop.sh"
echo "查看状态: ./status.sh"
echo "重启程序: ./restart.sh"
